package jugadores;

import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;

import dao.jugadoresDao;

public class generador extends jugadoresDao{

	protected static nombres.generador nombres = new nombres.generador();
	protected static dao.equiposDao equiposDao = new dao.equiposDao();
	
	public void generarTabla() throws SQLException, IOException{
		crearTabla();
	}
	
	public void generarJugadores() throws SQLException, IOException {
		
		ResultSet equipos = equiposDao.getAllEquiposId();
		
		int contadorPartido = 1;
		
		while(equipos.next()){
			int id_equipo = equipos.getInt("id");
			insertarJugadoresPorEquipo(id_equipo);
			System.out.print(contadorPartido+"--JUGADORES CREADOS EQUIPO ->"+id_equipo);
			contadorPartido++;
		}

	}

	private void insertarJugadoresPorEquipo(int id_equipo) throws IOException, SQLException {
		System.out.print(id_equipo+"\n");
		//porteros
		crearPorteros(id_equipo);
		//defensas
		crearDefensas(id_equipo);
		//mediocampo
		crearCentroCampistas(id_equipo);
		//delanteros
		crearDelanteros(id_equipo);
	}
	
	private void crearPorteros(int id_equipo) throws IOException, SQLException{
		for(int t=1;t<=1;t++){ //titulares
			insertarJugador(nombres.getNombre(),nombres.getApellido(),nombres.getApellido(),id_equipo,"POR",1);
		}
		
		for(int s=1;s<=2;s++){ //suplentes
			insertarJugador(nombres.getNombre(),nombres.getApellido(),nombres.getApellido(),id_equipo,"POR",0);
		}
	}
	
	private void crearDefensas(int id_equipo) throws IOException, SQLException{
		for(int t=1;t<=4;t++){ //titulares
			insertarJugador(nombres.getNombre(),nombres.getApellido(),nombres.getApellido(),id_equipo,"DEF",1);
		}
		
		for(int s=1;s<=2;s++){ //suplentes
			insertarJugador(nombres.getNombre(),nombres.getApellido(),nombres.getApellido(),id_equipo,"DEF",0);
		}
	}
	
	private void crearCentroCampistas(int id_equipo) throws IOException, SQLException{
		for(int t=1;t<=4;t++){ //titulares
			insertarJugador(nombres.getNombre(),nombres.getApellido(),nombres.getApellido(),id_equipo,"MC",1);
		}
		
		for(int s=1;s<=2;s++){ //suplentes
			insertarJugador(nombres.getNombre(),nombres.getApellido(),nombres.getApellido(),id_equipo,"MC",0);
		}
	}
	
	private void crearDelanteros(int id_equipo) throws IOException, SQLException{
		for(int t=1;t<=2;t++){ //titulares
			insertarJugador(nombres.getNombre(),nombres.getApellido(),nombres.getApellido(),id_equipo,"DEL",1);
		}
		
		for(int s=1;s<=3;s++){ //suplentes
			insertarJugador(nombres.getNombre(),nombres.getApellido(),nombres.getApellido(),id_equipo,"DEL",0);
		}
	}
}
